#include "Scale.h"

namespace steam
{
	namespace base
	{
		Scale::Scale() : m_XF(1), m_YF(1), m_ZF(1)
		{
		}

		Scale::Scale(float f)
		{
			m_XF = m_YF = m_ZF = (f > 0) ? f : 1;
		}

		Scale::Scale( float x, float y, float z )
		{
			m_XF = (x > 0) ? x : 1;
			m_YF = (y > 0) ? y : 1;
			m_ZF = (z > 0) ? z : 1;
		}

		const float& Scale::getXFactor() const
		{
			return m_XF;
		}

		const float& Scale::getYFactor() const
		{
			return m_YF;
		}

		const float& Scale::getZFactor() const
		{
			return m_ZF;
		}

		void Scale::setXFactor( float x )
		{
			m_XF = (x > 0) ? x : 1;
			
		}

		void Scale::setYFactor( float y )
		{
			m_YF = (y > 0) ? y : 1;
			
		}

		void Scale::setZFactor( float z )
		{
			m_ZF = (z > 0) ? z : 1;
		}

	}
}